package com.gopay.common.constants.approval;

/**
 * 审批流程枚举
 * 
 * @ApprovalConstants.java
 * @author yaobo
 * @2013-1-17 下午04:53:13 www.gopay.com.cn Inc.All rights reserved.
 */
public enum ApprovalID {
    /**
     * 企业用户入网审核
     */
    CORP_USER_ACTIVE(1),
    
    /**
     * 付款审核-web
     */
    PAY_IN_WEB(2),
    
    /**
     * 付款审核-console
     */
    PAY_IN_CONSOLE(3),
    
    /**
     * 付款退款
     */
    REFUND_OF_PAY(4),
    
    /**
     * 收款退款
     */
    REFUND_OF_RECV(5),
    
    /**
     * 线下充值
     */
    OFFLINE_RECHARGE(6),
    /**
     * 收益结算
     */
    GAIN_SETTLE(7),
    /**
     * 企业手续费方案审核
     */
    SOLU_FEE_CORP(8),
    /**
     * 个人手续费方案审核
     */
    SOLU_FEE_PERSON(9),

    /**
     * 手工调账
     */
    MANUAL_ADJUST(10),
    
    /**
     * 返润审核
     */
    RETURN_PROFIT(11),
    
    /**
     * 企业返润方案审核
     */
    SOLU_PROFIT_CORP(12),
    
    /**
     * 个人返润方案审核
     */
    SOLU_PROFIT_PERSON(13),

    /**
     * 控制台手续费计提
     */
    FEE_WITHDRAW_IN_CONSOLE(14),



    /**
     * 跨境人民币-留学汇款-退款
     */
	CBRMB_STUDY_REFUND(15),

	/**
     * 跨境人民币-进口交易-退款
     */
    CBRMB_IMPORT_REFUND(16),

	/**
	 * 跨境人民币-出口交易-退款
	 */
	CBRMB_EXPORT_REFUND(17),
	
	/**
	 * 跨境人民币-提现交易-退款
	 */
	CBRMB_CHECK_REFUND(18),
	/**
	 * 跨境人民币-境外提现-审核
	 */
	CBRMB_DRAW_CB(19),
    
    /**
     * 跨境人民币-跨境汇款-退款
     */
    CBRMB_REMIT_REFUND(20),

    /**
     * 跨境人民币-汇款充值-退款
     */
    CBRMB_REMIT_CHARGE_REFUND(23),

    /**
     * 分润到银行
     */
    POINT_PROFIT_TO_BANK(24),
    /**
     * 返点到国付宝
     */
    RETURN_PROFIT_TO_GOPAY(25),
    /**
     * 强制扣款
     */
    FORCED_DUDECT_TO_BANK(26),
    /**
     *  分润到国付宝审核
     */
    DISPENSE_PROFIT_TO_GOPAY(27),
	/**
	 * 跨境汇款-线下付款审核
	 */
	CBRMB_REMIT_OFFLINE_PAY(28),
	/**
	 * 金融服务管理平台审核-fmp（天溢盈兑付）
	 */
	AUDIT_IN_FMP(29),
	/**
	 * 跨境人民币外卡支付退款审核
	 */
	CBRMB_INTLCARD_REFUND(30);

    public final int value;

    private ApprovalID(int value) {
        this.value = value;
    }
    
    public static ApprovalID getApprovalID(int value) {
    	switch(value) {
    	case 1 : return CORP_USER_ACTIVE;
    	case 2 : return PAY_IN_WEB;
    	case 3 : return PAY_IN_CONSOLE;
    	case 4 : return REFUND_OF_PAY;
    	case 5 : return REFUND_OF_RECV;
    	case 6 : return OFFLINE_RECHARGE;
    	case 7 : return GAIN_SETTLE;
    	case 8 : return SOLU_FEE_CORP;
    	case 9 : return SOLU_FEE_PERSON;
    	case 10 : return MANUAL_ADJUST;
    	case 11 : return RETURN_PROFIT;
    	case 12 : return SOLU_PROFIT_CORP;
    	case 13 : return SOLU_PROFIT_PERSON;
        case 14 : return FEE_WITHDRAW_IN_CONSOLE;
    	case 15 : return CBRMB_STUDY_REFUND;
    	case 16 : return CBRMB_IMPORT_REFUND;
    	case 17 : return CBRMB_EXPORT_REFUND;
    	case 18 : return CBRMB_CHECK_REFUND;
    	case 19 : return CBRMB_DRAW_CB;
    	case 20 : return CBRMB_REMIT_REFUND;
    	case 23 : return CBRMB_REMIT_CHARGE_REFUND;
        case 24 : return POINT_PROFIT_TO_BANK;
        case 25 : return RETURN_PROFIT_TO_GOPAY;
        case 26 : return FORCED_DUDECT_TO_BANK;
        case 27 : return DISPENSE_PROFIT_TO_GOPAY;
        case 28 : return CBRMB_REMIT_OFFLINE_PAY;
        case 29 : return AUDIT_IN_FMP;
        case 30 : return CBRMB_INTLCARD_REFUND;
    	default : return null;
    	}
    }
}
